package com.asr.model;

import lombok.Data;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

@Data
public class AsrTask {
    private String taskId;
    private String status; // PENDING, RUNNING, COMPLETED, FAILED
    private LocalDateTime createTime;
    private LocalDateTime startTime;
    private LocalDateTime endTime;
    
    private AsrConfig config;
    private List<String> audioFiles = new ArrayList<>();
    private List<AudioFileStatus> fileStatuses = new ArrayList<>();
    
    private String outputDir;
    private List<String> resultFiles = new ArrayList<>();
    
    private Double totalDuration;
    private Double processingTime;
    private Double overallRtf;
    
    private String errorMessage;
    
    @Data
    public static class AudioFileStatus {
        private String fileName;
        private String status; // PENDING, PROCESSING, COMPLETED, FAILED
        private Double progress; // 0-100
        private String stage; // loading, diarization, recognition, completed, error
        private String message;
        private Integer gpuId;
    }
}
